package com.hina.rec.endpoint.res.system;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 结算明细响应对象
 *
 * @author liaosp
 * @date 2024-01-05
 */
@Data
public class SettleDetailRes {

    @Schema(description = "结算明细ID")
    private Integer id;

    @Schema(description = "所属年份")
    private Integer year;

    @Schema(description = "所属月份")
    private Integer month;

    @Schema(description = "结算单名称")
    private String settleName;

    @Schema(description = "批次名称")
    private String batchName;

    @Schema(description = "简称（调用账号）")
    private String sencMemberId;

    @Schema(description = "全称")
    private String sencMemberName;

    @Schema(description = "类型")
    private String expandCustomers;

    @Schema(description = "数据源中文产品名（合同产品名）")
    private String subProductName;

    @Schema(description = "产品英文名称")
    private String subProductType;

    @Schema(description = "版本号")
    private String version;

    @Schema(description = "朴道产品代码")
    private String partnerProductCode;

    @Schema(description = "计费标准（查得/查询）")
    private String productFeeType;

    @Schema(description = "当月查询次数")
    private Integer queryCount;

    @Schema(description = "当月查得次数")
    private Integer queryResultCount;

    @Schema(description = "减免次数")
    private Integer reduceNum;

    @Schema(description = "最终付费次数")
    private Integer succCount;

    @Schema(description = "单价")
    private BigDecimal productPrice;

    @Schema(description = "客户结算-金额")
    private BigDecimal succAmount;

    @Schema(description = "科技公司结算-技术服务费")
    private BigDecimal techFee;

    @Schema(description = "科技公司结算-金额")
    private BigDecimal inAmount;

    @Schema(description = "数据源名称1")
    private String counterName1;

    @Schema(description = "数据源名称2")
    private String counterName2;

    @Schema(description = "数据源名称3")
    private String counterName3;

    @Schema(description = "数据源名称4")
    private String counterName4;

    @Schema(description = "数据源名称5")
    private String counterName5;

    @Schema(description = "数据源名称6")
    private String counterName6;

    @Schema(description = "数据源单价1")
    private BigDecimal counterPrice1;

    @Schema(description = "数据源单价2")
    private BigDecimal counterPrice2;

    @Schema(description = "数据源单价3")
    private BigDecimal counterPrice3;

    @Schema(description = "数据源单价4")
    private BigDecimal counterPrice4;

    @Schema(description = "数据源单价5")
    private BigDecimal counterPrice5;

    @Schema(description = "数据源单价6")
    private BigDecimal counterPrice6;

    @Schema(description = "数据源计费标准1")
    private String counterFeeType1;

    @Schema(description = "数据源计费标准2")
    private String counterFeeType2;

    @Schema(description = "数据源计费标准3")
    private String counterFeeType3;

    @Schema(description = "数据源计费标准4")
    private String counterFeeType4;

    @Schema(description = "数据源计费标准5")
    private String counterFeeType5;

    @Schema(description = "数据源计费标准6")
    private String counterFeeType6;

    @Schema(description = "数据源付费次数1")
    private Integer counterCount1;

    @Schema(description = "数据源付费次数2")
    private Integer counterCount2;

    @Schema(description = "数据源付费次数3")
    private Integer counterCount3;

    @Schema(description = "数据源付费次数4")
    private Integer counterCount4;

    @Schema(description = "数据源付费次数5")
    private Integer counterCount5;

    @Schema(description = "数据源付费次数6")
    private Integer counterCount6;

    @Schema(description = "数据源成交金额1")
    private BigDecimal counterCost1;

    @Schema(description = "数据源成交金额2")
    private BigDecimal counterCost2;

    @Schema(description = "数据源成交金额3")
    private BigDecimal counterCost3;

    @Schema(description = "数据源成交金额4")
    private BigDecimal counterCost4;

    @Schema(description = "数据源成交金额5")
    private BigDecimal counterCost5;

    @Schema(description = "数据源成交金额6")
    private BigDecimal counterCost6;

    @Schema(description = "总成本")
    private BigDecimal totalCost;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "环境")
    private String environment;

    @Schema(description = "验证状态")
    private String verifyStatus;

    @Schema(description = "创建人")
    private String createdBy;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新人")
    private String updatedBy;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;
}